package ds.list;

public interface IList<T> {
    //头插法
    public void addFirst(T data);
    //尾插法
    public void addLast(T data);
    //任意位置插入,第一个数据节点为0号下标
    public void addIndex(int index,T data);
    //查找是否包含关键字key是否在链表当中
    public boolean contains(Object key);
    //删除第一次出现关键字为key的节点
    public boolean remove(Object key);
    //头删
    public boolean removeFirst();
    //尾删
    public boolean removeLast();
    //删除所有值为key的节点
    public boolean removeAllKey(Object key);
    // 删除下表为index的节点
    public boolean remove(int index);
    //得到链表的长度
    public int size();
    public boolean isEmpty();
}
